package com.ruoyi.sale.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 销售订单从表 实体类
 *
 * @author WangChangShuo
 * @date 2022年05月09日 17:20
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SaleorderModel {


    private Long modelId;
    private Long amount;
    /**
     * 销售订单从表 自增主键
     */
    private Long saleorderModelId;
    /**
     * 销售订单主键
     */
    private Long saleorderId;
    /**
     * 选择的采购单子表id
     */
    private Long purchaseModelId;
    /**
     * 产品主键
     */
    private Long productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 产品类型
     */
    private String productType;
    /**
     * 单位
     */
    private String salesUnit;
    /**
     * 产品规格主键
     */
    private Long modelNo;
    /**
     * 型号唯一码
     */
    private String modelCode;
    /**
     * 单位
     */
    private String unit;
    /**
     * 数量
     */
    private Long num;
    /**
     * 销售订单数量
     */
    private Long saleorderNum;
    private int allNum;
    /**
     * 税率
     */
    private String taxRate;
    /**
     * 含税单价
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal taxPrice;
    /**
     * 含税金额
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal taxTotal;
    /**
     * 生产商名称
     */
    private String manufacturerName;
    private Long factor;
    /**
     * 产品注册证
     */
    private String medicalNumber;
    /**
     * 单价
     */
   /* @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal price;*/
    /**
     * 注册证到期日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date medicalEndTime;
    /**
     * 生产日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date createTime;

    /**
     * 总金额
     */
/*    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal total;*/
    /**
     * 生产日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private int monthToNow;
    /**
     * 库存数量
     */
    private Long warehousingNum;
    private Long deptId;
    /**
     * 失效日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date effectiveDate;
    /**
     * 执行状态
     */
    private String executeStatus;
    /**
     * 执行数量
     */
    private int executeNum;
    /*
    执行的总数量 按支来计算
     */
    private int executeallNum;
    private int outAll;
    /*
       剩余的总数量
        */
    private int remainingallNum;
    /**
     * 剩余数量
     */
    private int remainingNum;
    /**
     * 选择的采购单的执行数量
     */
    private int purExecuteNum;
    /**
     * 选择的采购单的剩余数量
     */
    private int purRemainingNum;
    private int editRemainingNum;
    /**
     * 销售订单从表 自增主键
     */
    private boolean checked;

    public Long getModelId() {
        return modelId;
    }

    public void setModelId(Long modelId) {
        this.modelId = modelId;
    }

    public boolean isChecked() {
        return checked;
    }

    public Long getAmount() {

        return amount;
    }

    public void setAmount(Long amount) {
        this.amount = amount;
    }

    public Long getFactor() {
        return factor;
    }

    public void setFactor(Long factor) {
        this.factor = factor;
    }

    public int getOutAll() {
        return outAll;
    }

    public void setOutAll(int outAll) {
        this.outAll = outAll;
    }

    public int getRemainingallNum() {
        return remainingallNum;
    }

    public void setRemainingallNum(int remainingallNum) {
        this.remainingallNum = remainingallNum;
    }

    public int getExecuteallNum() {
        return executeallNum;
    }

    public void setExecuteallNum(int executeallNum) {
        this.executeallNum = executeallNum;
    }

    public Boolean getChecked() {
        return checked;
    }

    public void setChecked(boolean checked) {
        this.checked = checked;
    }

    public void setChecked(Boolean checked) {
        this.checked = checked;
    }

    public Long getSaleorderNum() {
        return saleorderNum;
    }

    public void setSaleorderNum(Long saleorderNum) {
        this.saleorderNum = saleorderNum;
    }

    public int getEditRemainingNum() {
        return editRemainingNum;
    }

    public void setEditRemainingNum(int editRemainingNum) {
        this.editRemainingNum = editRemainingNum;
    }

    public String getMedicalNumber() {
        return medicalNumber;
    }

    public void setMedicalNumber(String medicalNumber) {
        this.medicalNumber = medicalNumber;
    }

    public Date getMedicalEndTime() {
        return medicalEndTime;
    }

    public void setMedicalEndTime(Date medicalEndTime) {
        this.medicalEndTime = medicalEndTime;
    }

    public Long getSaleorderModelId() {
        return saleorderModelId;
    }

    public void setSaleorderModelId(Long saleorderModelId) {
        this.saleorderModelId = saleorderModelId;
    }

    public Long getSaleorderId() {
        return saleorderId;
    }

    public void setSaleorderId(Long saleorderId) {
        this.saleorderId = saleorderId;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getSalesUnit() {
        return salesUnit;
    }

    public void setSalesUnit(String salesUnit) {
        this.salesUnit = salesUnit;
    }

    public Long getModelNo() {
        return modelNo;
    }

    public void setModelNo(Long modelNo) {
        this.modelNo = modelNo;
    }

    public String getModelCode() {
        return modelCode;
    }

    public void setModelCode(String modelCode) {
        this.modelCode = modelCode;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Long getNum() {
        return num;
    }

    public void setNum(Long num) {
        this.num = num;
    }

/*    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }*/

    public String getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(String taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxPrice() {
        return taxPrice;
    }

    public void setTaxPrice(BigDecimal taxPrice) {
        this.taxPrice = taxPrice;
    }

    /* public BigDecimal getTotal() {
         return total;
     }

     public void setTotal(BigDecimal total) {
         this.total = total;
     }
 */
    public BigDecimal getTaxTotal() {
        return taxTotal;
    }

    public void setTaxTotal(BigDecimal taxTotal) {
        this.taxTotal = taxTotal;
    }

    public String getManufacturerName() {
        return manufacturerName;
    }

    public void setManufacturerName(String manufacturerName) {
        this.manufacturerName = manufacturerName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public int getMonthToNow() {
        return monthToNow;
    }

    public void setMonthToNow(int monthToNow) {
        this.monthToNow = monthToNow;
    }

    public Long getWarehousingNum() {
        return warehousingNum;
    }

    public void setWarehousingNum(Long warehousingNum) {
        this.warehousingNum = warehousingNum;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Date getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public String getExecuteStatus() {
        return executeStatus;
    }

    public void setExecuteStatus(String executeStatus) {
        this.executeStatus = executeStatus;
    }

    public int getExecuteNum() {
        return executeNum;
    }

    public void setExecuteNum(int executeNum) {
        this.executeNum = executeNum;
    }

    public int getRemainingNum() {
        return remainingNum;
    }

    public void setRemainingNum(int remainingNum) {
        this.remainingNum = remainingNum;
    }

    public Long getPurchaseModelId() {
        return purchaseModelId;
    }

    public void setPurchaseModelId(Long purchaseModelId) {
        this.purchaseModelId = purchaseModelId;
    }

    public int getPurExecuteNum() {
        return purExecuteNum;
    }

    public void setPurExecuteNum(int purExecuteNum) {
        this.purExecuteNum = purExecuteNum;
    }

    public int getPurRemainingNum() {
        return purRemainingNum;
    }

    public void setPurRemainingNum(int purRemainingNum) {
        this.purRemainingNum = purRemainingNum;
    }

    public int getAllNum() {
        return allNum;
    }

    public void setAllNum(int allNum) {
        this.allNum = allNum;
    }
}
